Data communications networks provide for an exchange of data packets (e.g., network traffic) among computerized devices within the communications network. Such communications networks typically utilize computerized devices, such as data communications devices, to schedule transmission of particular packets over particular channels in a fair and pre-determined manner. Conventional data communications devices typically include multiple queues that receive and store data (e.g., packets) from different sources, each packet awaiting departure from each queue to a destination. The data communications devices are conventionally configured with queue schedulers or queue sorters to determine the order (e.g., the service order) of the operation of the queues.
For example, certain conventional data communication devices are configured with scheduling instructions or scheduling algorithms, such as implemented via software. Typically, scheduling requirements for a data communications device are dynamic and frequently change. As computer systems and communications networks become more complex in order to support many different and distinct traffic types, for example, the traffic scheduling requirements change. In the case where the data communications devices are configured with scheduling instructions or scheduling algorithms, implemented via software, an operator can change the scheduling algorithms, as needed, to conform the scheduling instructions to the requirements of the data communications device. For example, the operator can replace an existing scheduling algorithm if the scheduling algorithm becomes obsolete and is upgraded to a newer or more efficient algorithm or if the results of the existing scheduling algorithm prove to be inadequate (e.g., inefficient).
In another example, certain conventional data communication devices are configured with hardware, such as Application Specific Integrated Circuits (ASICs), that determine the order, or schedule, of the operation of the queues. Certain data communication devices have a relatively large number of queues waiting to transmit packets at relatively high rates over a large number of channels. A hardware implementation for queue operation scheduling provides relatively high-speed responsiveness and performance in the associated data communication device.